 #-*- coding: utf-8 -*-

 ###############################################
 ##                                             ##
 ##   About                                      ##
 ##                                              ##
 ##                                              ##
 ##   for Empresa Básica                         ##
 ##   by Críptidos Digitales                     ##
 ##   GPL (c)2008                                ##
  ##                                             ##
    ###############################################

"""
This module contents only the form that displays the information of the main application
Calls PyQt4 libraries and the pyuic4 generated module created with Qt's Designer
"""


from PyQt4 import QtGui

import about_ui
import man

class Form(QtGui.QDialog):

    """ Contiene la gui y funcionalidad del diálogo de información de la aplicación"""

    @property
    def app(self):
        return self.__app

    def __init__(self,  *args,  **kwds):
        if kwds.has_key('app'):
            self.__app = kwds.pop('app')
        else:
            self.__app = None

        QtGui.QDialog.__init__(self,  *args)

        self.ui = about_ui.Ui_Dialog()
        self.ui.setupUi(self)

        self.setWindowTitle(u"%s - INFORMACIÓN" % self.app.info['title'])
        self.setWindowIcon(QtGui.QIcon("imagenes/logo.png"))

        # icon = QtGui.QIcon()
        # icon.addPixmap(QtGui.QPixmap("imagenes/logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        # self.setWindowIcon(icon)

        # self.ui.laLogo.setPixmap(QtGui.QPixmap("imagenes/logo.png"))

        self.ui.titulo.setText(self.app.info['title'])
        self.ui.titulo.setStyleSheet("color:#FFFFC0; background-image:url(imagenes/logo.png)")

        if self.app.formacion == self.app.TALLER:
            self.ui.label.setText(QtGui.QApplication.translate("Dialog", """
Taller Básico es el Sistema Informático que os permitirá conocer en cualquier momento el estado de cualquier aspecto de su empresa, sea producto, proceso o persona.
""", None, QtGui.QApplication.UnicodeUTF8))
        elif self.app.formacion == self.app.BASICO:
            self.ui.label.setText(QtGui.QApplication.translate("Dialog", """
Empresa Básica es el Sistema Informático que os permitirá conocer en cualquier momento el estado de cualquier aspecto de su empresa, sea producto, proceso o persona.
""", None, QtGui.QApplication.UnicodeUTF8))
        # self.ui.lbTitle.setText(self.app.info['title'])
        self.ui.lbVersion.setText(u"v %s  (c) 2008, 2009" % self.app.info['version'])
        self.ui.la01.setText(u"creado por Críptidos Digitales")
        self.ui.la02.setText(u"Contributors:\nJorge Hojyo\nJuan Algara")
        self.ui.la03.hide()
        self.ui.la04.hide()

        self.setData()


    def setData(self):
        try:
            rol = man.dameRol(tipo=u'Propio')
            self.ui.laNombreComercial.setText("%s" % rol.comentarios)
            self.ui.laNombre.setText("%s %s" % (rol.entidad.nombre, rol.entidad.nombre2))
            self.ui.laCalle.setText("%s" % rol.direcciones[0].calle)
            self.ui.laAreaNominal.setText("%s" % rol.direcciones[0].areanominal)
            self.ui.laLugar.setText("%s %s" % (rol.direcciones[0].areapostal, rol.direcciones[0].lugar.valor))
            self.ui.laRFC.setText("RFC: %s %s %s" % (rol.entidad.rfc[:4], rol.entidad.rfc[4:10], rol.entidad.rfc[10:13]))
            self.ui.la1.hide()
            self.ui.la2.hide()
            self.ui.la3.hide()
        except:
            pass


    """
   \n\n
La interfase es muy ligera y no se usa el menú tradicional, las opciones disponibles son accesadas mediante botones colocados estratégicamente.\n
    Se busca pertinencia a la hora de mostrar los datos, de manera que se pueda tener visible los datos que se requieran para cualquier consulta sin tener que cambiar de ventanas.\n
    Además de los tips contextuales que contiene el sistema en cada unidad de captura, se incluye un ayudante que debe eliminar cualquier duda que surja, es por esto que la documentación externa disponible es inexistente.
    """